package com.woniu.woniuk16.commens;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        List<Menu> menus = new ArrayList<>();
        menus.add(new Menu(1,0,null));
        menus.add(new Menu(2,0,null));
        menus.add(new Menu(3,1,null));
        menus.add(new Menu(4,1,null));
        menus.add(new Menu(5,0,null));
        menus.add(new Menu(6,2,null));
        menus.add(new Menu(7,5,null));
        menus.add(new Menu(8,2,null));
        menus.add(new Menu(9,2,null));
        menus.add(new Menu(10,3,null));
        menus.add(new Menu(11,10,null));
        menus.add(new Menu(12,8,null));

        /*
         *      1           2           5
         *  3     4     6   8   9       7
         *10                12
         * 11
        * */
        Map<Integer,Menu> maps = new HashMap<>();
        for (int i = 0;i<menus.size();i++) {
            maps.put(menus.get(i).getId(),menus.get(i));
        }
        List<Menu> menus1 = new ArrayList<>();
        for (int i = 0;i<menus.size();i++) {
            if (menus.get(i).getParentId()==0){
                menus1.add(menus.get(i));
            }else{
                if (maps.get(menus.get(i).getParentId()).getMenus()==null){
                    maps.get(menus.get(i).getParentId()).setMenus(new ArrayList<Menu>());
                }
                maps.get(menus.get(i).getParentId()).getMenus().add(menus.get(i));
            }
        }
        System.out.println(menus1);

    }
}
